//index.js
var utils = require('../../utils/utils.js')
const db = wx.cloud.database()
const birthday = db.collection('birthday')

Page({

  /**
   * 页面的初始数据
   */
  data: {
    
  },

  /*** 自定义函数--添加新朋友信息 */
  addFriend: function () {
    //
    let id = 'new'
    wx.navigateTo({
      url:'../edit/edit?id='+id,
    })
  },

  /*** 自定义函数--获取好友列表*/
  getFriendsList: function(){
    birthday.orderBy('date','asc').get({
      success:res=>{
        //console.log(res.data)
        this.processData(res.data)
      }
    })
  },

  /** * 自定义函数--处理数据(计算距离下个生日的天数)  */  
  processData: function (list) {
    //console.log(list)
    // for (var i=0; i<list.length; i++){
    //   let date = list[i].date              //获取不带年份的生日
    //   let n = utils.getNextBirthday(date)  //计算距离下个生日差几天
    //   list[i].n = n                        //更新到数组中
    // }
    //更新页面数据
    this.setData({
      friendsList:list
    })
    return  friendsList
  },

  /*** 自定义函数--监听搜索关键词*/
  onSearch: function(e){
    //获取搜索关键词
    let keyword = e.detail

    //使用正则表达式的模糊查询
    birthday.where({
      name:db.RegExp({
        regexp:keyword,
        options:'i'
      })
    }).orderBy('date','asc').get({
      success:res=>{
        this.processData(res.data)
      }
    })
  },

  /*** 自定义函数--监听取消搜索*/
  onCancel: function(e){
    this.getFriendsList() //重新刷新页面即可显示
  },

  /*** 生命周期函数--监听页面加载*/
  onLoad: function (options) {
    this.getFriendsList() //测试: 刷新页面即可显示
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {
    
  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    //跳转再返回首页, 立即刷新数据
    this.getFriendsList()
  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {
    
  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {
    
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {
    
  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {
    
  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {
    
  }
})